package main

import (
	"fmt"
	//引入第三名json解析包 jsoniter
	jsoniter "github.com/json-iterator/go"
)

/**
	jsoniter的使用方法和标准包基本上是一样的
	它的优点是解析速度更快
**/

type ColorGroup struct {
	ID     int
	Price  float64
	Name   string
	Colors []string
}

func main() {
	group := ColorGroup{
		ID:     1,
		Price:  666.7891,
		Name:   "red",
		Colors: []string{"Red", "Yellow", "Blue"},
	}

	//结构体序列化为json。和标准包一样，第一个返回的是[]byte
	b, err := jsoniter.Marshal(group)
	fmt.Println(string(b), err)

	//反序列化
	g2 := ColorGroup{}
	jsoniter.Unmarshal(b, &g2)
	fmt.Println(g2.Name)
}
